﻿using System;
using System.Xml.Linq;

namespace TraceView.Shared
{
    [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
    public sealed class ListenerDefinitionAttribute : Attribute
    {
        private readonly Type _listenerDefinition;
        public Type ListenerDefinition
        {
            get { return _listenerDefinition; }
        }
        public ListenerDefinitionAttribute(Type listenerDefinition)
        {
            _listenerDefinition = listenerDefinition;
        }
    }

    public interface IListenerDefinition
    {
        string Name { get; }
        void SetConfiguration(XDocument doc);
    }
}